package lumis.portal.localization;

import lumis.portal.PortalException;
import lumis.portal.dao.DaoException;
import lumis.util.ITransaction;

/**
 * Dao interface for Custom String
 * 
 * @version $Revision: 8289 $ $Date: 2007-09-24 17:46:32 -0300 (Mon, 24 Sep 2007) $
 * @since 4.0.11
 */
public interface ICustomStringLocalizationDao extends IStringLocalizationDao 
{
	/**
	 * Add or Update the specified custom string
	 * 
	 * @param customStringConfig
	 * @throws DaoException
	 * @throws PortalException
	 */
	public void addOrUpdate(CustomStringConfig customStringConfig, ITransaction transaction) throws DaoException, PortalException;
	
	/**
	 * Get the CustomString object
	 * 
	 * @param sessionConfig
	 * @param customStringId
	 * @param transaction
	 * @return
	 * @throws PortalException
	 */
	public CustomStringConfig get(String customStringId, ITransaction transaction) throws PortalException;
	
	/**
	 * Get CustomStringId from stringId, resourcePath and localeCode
	 * 
	 * @param customStringConfig
	 * @param transaction
	 * @return
	 * @throws PortalException
	 */
	public String getIdByStringInfo(CustomStringConfig customStringConfig, ITransaction transaction) throws PortalException;
	
	/**
	 * Delete CustomString
	 * 
	 * @param customStringId
	 * @param transaction
	 * @throws PortalException
	 */
	public void delete(String customStringId, ITransaction transaction) throws PortalException;
	
}
